/**
 * <p>SystemName: WLBSNS</p>
 * <p>Description: 微乐帮社交网络 </p> 
 * <P>FileName: DateUtils.java</P>
 * <p>Copyright: Copyright (c) 2013 </p> 
 * <p>Company: </p> 
 * @author Theron 
 * @date 2013年11月10日 下午4:53:14 
 * @version V1.0 
 */
package com.wlbsns.framework.tools;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import com.wlbsns.framework.exception.SystemException;


/**
 * 
 * <p>FileName: DateUtils.java </p>
 * <p>PackageName: com.wlbsns.framework.tools </p>
 * <p>ClassName: DateUtils </p>
 * <p>Desciption: 日期对象工具类 </p>
 * @author Theron
 * @date 2013年11月10日 下午5:23:25
 */
public final class DateUtils {

	/**
	 * 
	 */
	public DateUtils() {
	}
	
	/**
	 * 
	 * <p>FileName: DateUtils.java</p>
	 * <p>Function:  </p>
	 * <p>Description: 将java.util.Date转换成java.sql.Date </p>
	 * @date 2013年11月10日 下午5:23:46
	 * @author Theron
	 * @param date
	 * @return
	 * <p>ReturnType: java.sql.Date</p>
	 */
	public static java.sql.Date dateToSqlDate(java.util.Date date){
		java.sql.Date sDate = null;
		if(date != null){
			sDate = new java.sql.Date(date.getTime());
		}
		return sDate;
	}
	
	/**
	 * 
	 * <p>FileName: DateUtils.java</p>
	 * <p>Function:格式化时间  </p>
	 * <p>Description: 使用指定的格式显示时间 </p>
	 * @date 2013年11月10日 下午5:24:08
	 * @author Theron
	 * @param date
	 * @param fmt
	 * @return fmtDate
	 * <p>ReturnType: String</p>
	 */
	public static String fmtDate(Date date, String fmt){
		
		String defaultFmt = "yyyy-MM-dd HH:mm:ss";//默认格式
		
		if(fmt.trim().equals("") || fmt == null){
			return new SimpleDateFormat(defaultFmt).format(date);
		}
		return new SimpleDateFormat(fmt).format(date);
	}

	/**
	 * 
	 * <p>FileName: DateUtils.java</p>
	 * <p>Function: 将字符串转换成时间 </p>
	 * <p>Description: 将制定格式的字符串转换成时间 </p>
	 * @date 2013年11月10日 下午5:24:37
	 * @author Theron
	 * @param strTime 要转换的字符串
	 * @param fmt 转换字符串的转换格式(默认时间字符串格式为“yyyy-MM-dd”)
	 * @return date
	 * @throws SystemException
	 * <p>ReturnType: Date</p>
	 */
	public static Date parseDate(String strTime,String fmt) throws SystemException {
		
		//声明一个日期对象
		Date date = null;
		
		//设置默认的转换的日期格式
		String defaultFmt = "yyyy-MM-dd";
		
		try {
			if(!strTime.trim().equals("") && strTime != null){
				if(!fmt.trim().equals("") && fmt != null){
					date = new SimpleDateFormat(fmt).parse(strTime);
				}else{
					date = new SimpleDateFormat(defaultFmt).parse(strTime);
				}
			}else{
				return date;
			}
		} catch (ParseException e) {
			throw new SystemException("错误的转换格式",e);
		}
		return date;
	}
}
